home *** CD-ROM | disk | FTP | other *** search
- /*
- File: DocWindow.h
-
- Contains: A simple document window
-
- Written by: Dave Falkenburg
-
- Copyright: © 1993-94 by Dave Falkenburg, all rights reserved.
-
- Change History (most recent first):
-
- */
-
- #ifndef _DOCWINDOW_
- #define _DOCWINDOW_
-
- #ifndef _WINDOW_
- #include "Window.h"
- #endif
-
- #ifndef __THREADS__
- #include <Threads.h>
- #endif
-
- #ifndef _DOCFILE_
- #include "DocFile.h"
- #endif
-
- #ifndef __PRINTING__
- #include <Printing.h>
- #endif
-
- const short kHeaderHeight = 20;
- const short kScrollbarWidth = 15;
-
- const short kFirstSpinningArrowIconID = 801;
- const short kLastSpinningArrowIconID = 808;
-
- const short kDocWindowTemplateID = 1026;
-
- class TDocWindow : public TWindow
- {
- public:
- TDocWindow();
- virtual ~TDocWindow();
-
- virtual WindowPtr MakeNewWindow(WindowPtr pBehindWindow);
-
- virtual void AdjustCursor(EventRecord* pEvent);
-
- virtual void Activate(Boolean theIsActivating);
- virtual void Draw(void);
- virtual void Click(EventRecord* pEvent);
- virtual void SetupMenus(void);
- virtual void AdjustForNewWindowSize(Rect* pOldRect,Rect* pNewRect);
-
- virtual Boolean Close(void);
-
- virtual void SetDocFile(FSSpec* pFSSpec);
- virtual void HandleMenuCommand(short theMenuID, short theMenuItem);
-
- virtual OSErr DragEnterWindow(DragReference theDrag);
- virtual OSErr DragInWindow(DragReference theDrag);
- virtual OSErr DragLeaveWindow(DragReference theDrag);
- virtual OSErr HandleDrop(DragReference theDrag);
-
- protected:
- THPrint fTHPrint;
- Boolean fDirty;
- static unsigned long fgUntitledTagCount;
- ThreadID fSpinnerThreadID;
- short fCurrentSpinningArrowIconID;
-
- public:
- virtual void SpinHeaderArrows();
- protected :
- virtual void PageSetupDlg(Boolean theCustomFlag);
- virtual void PrintDlg(Boolean theDialogFlag);
- virtual Boolean SaveDocument(void);
- virtual Boolean SaveDocumentAs(void);
- virtual Boolean IsDirty(void);
- virtual void SetDirty(Boolean theDirtyFlag);
- TDocFile* fDocFile;
- };
-
- #endif
-